<?xml version="1.0" encoding="utf-8"?>
<xs:schema elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:import schemaLocation="http://localhost:52878/GraphProviderService.svc?xsd=xsd2" namespace="http://schemas.datacontract.org/2004/07/GraphInformation" />
  <xs:import schemaLocation="http://localhost:52878/GraphProviderService.svc?xsd=xsd3" namespace="http://schemas.microsoft.com/2003/10/Serialization/Arrays" />
  <xs:import schemaLocation="http://localhost:52878/GraphProviderService.svc?xsd=xsd4" namespace="http://schemas.datacontract.org/2004/07/EpidemicSimulator" />
  <xs:import schemaLocation="http://localhost:52878/GraphProviderService.svc?xsd=xsd5" namespace="http://schemas.datacontract.org/2004/07/EpidemicSimulator.reports" />
  <xs:import schemaLocation="http://localhost:52878/GraphProviderService.svc?xsd=xsd1" namespace="http://schemas.microsoft.com/2003/10/Serialization/" />
  <xs:element name="GetDiseaseModelGraphByName">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="DiseaseName" nillable="true" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="GetDiseaseModelGraphByNameResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q1="http://schemas.datacontract.org/2004/07/GraphInformation" minOccurs="0" name="GetDiseaseModelGraphByNameResult" nillable="true" type="q1:Graph" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="GetDiseaseModelGraph">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="GraphML" nillable="true" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="GetDiseaseModelGraphResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q2="http://schemas.datacontract.org/2004/07/GraphInformation" minOccurs="0" name="GetDiseaseModelGraphResult" nillable="true" type="q2:Graph" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="GenerateGraphAndSaveGraphML">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="methodName" nillable="true" type="xs:string" />
        <xs:element xmlns:q3="http://schemas.microsoft.com/2003/10/Serialization/Arrays" minOccurs="0" name="param" nillable="true" type="q3:ArrayOfstring" />
        <xs:element xmlns:q4="http://schemas.microsoft.com/2003/10/Serialization/Arrays" minOccurs="0" name="paramTypes" nillable="true" type="q4:ArrayOfstring" />
        <xs:element minOccurs="0" name="condition" type="xs:int" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="GenerateGraphAndSaveGraphMLResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="GenerateGraphAndSaveGraphMLResult" nillable="true" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="GetDiseaseModelStateNames">
    <xs:complexType>
      <xs:sequence />
    </xs:complexType>
  </xs:element>
  <xs:element name="GetDiseaseModelStateNamesResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q5="http://schemas.microsoft.com/2003/10/Serialization/Arrays" minOccurs="0" name="GetDiseaseModelStateNamesResult" nillable="true" type="q5:ArrayOfstring" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="GetGraphFromGraphML">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="graphML" nillable="true" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="GetGraphFromGraphMLResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q6="http://schemas.datacontract.org/2004/07/GraphInformation" minOccurs="0" name="GetGraphFromGraphMLResult" nillable="true" type="q6:Graph" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="GenerateGraph">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="methodName" nillable="true" type="xs:string" />
        <xs:element xmlns:q7="http://schemas.microsoft.com/2003/10/Serialization/Arrays" minOccurs="0" name="param" nillable="true" type="q7:ArrayOfstring" />
        <xs:element xmlns:q8="http://schemas.microsoft.com/2003/10/Serialization/Arrays" minOccurs="0" name="paramTypes" nillable="true" type="q8:ArrayOfstring" />
        <xs:element minOccurs="0" name="condition" type="xs:int" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="GenerateGraphResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q9="http://schemas.datacontract.org/2004/07/GraphInformation" minOccurs="0" name="GenerateGraphResult" nillable="true" type="q9:Graph" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="StartSimulation">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q10="http://schemas.datacontract.org/2004/07/EpidemicSimulator" minOccurs="0" name="simsetup" nillable="true" type="q10:SimulationSetupSL" />
        <xs:element minOccurs="0" name="token" nillable="true" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="StartSimulationResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q11="http://schemas.datacontract.org/2004/07/GraphInformation" minOccurs="0" name="StartSimulationResult" nillable="true" type="q11:Graph" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="CreateGraph">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="graphML" nillable="true" type="xs:string" />
        <xs:element minOccurs="0" name="stateMachineGraphML" nillable="true" type="xs:string" />
        <xs:element minOccurs="0" name="token" nillable="true" type="xs:string" />
        <xs:element minOccurs="0" name="MaxSimStep" type="xs:int" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="CreateGraphResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q12="http://schemas.datacontract.org/2004/07/GraphInformation" minOccurs="0" name="CreateGraphResult" nillable="true" type="q12:Graph" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="ComputeCentrality">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="MethodName" nillable="true" type="xs:string" />
        <xs:element xmlns:q13="http://schemas.datacontract.org/2004/07/GraphInformation" minOccurs="0" name="input" nillable="true" type="q13:Graph" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="ComputeCentralityResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q14="http://schemas.datacontract.org/2004/07/GraphInformation" minOccurs="0" name="ComputeCentralityResult" nillable="true" type="q14:Graph" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="NextStep">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="token" nillable="true" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="NextStepResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q15="http://schemas.datacontract.org/2004/07/GraphInformation" minOccurs="0" name="NextStepResult" nillable="true" type="q15:Graph" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="GetAvailableMethodsOfGenerator">
    <xs:complexType>
      <xs:sequence />
    </xs:complexType>
  </xs:element>
  <xs:element name="GetAvailableMethodsOfGeneratorResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q16="http://schemas.microsoft.com/2003/10/Serialization/Arrays" minOccurs="0" name="GetAvailableMethodsOfGeneratorResult" nillable="true" type="q16:ArrayOfstring" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="GetParametersFromMethod">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="methodName" nillable="true" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="GetParametersFromMethodResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q17="http://schemas.microsoft.com/2003/10/Serialization/Arrays" minOccurs="0" name="GetParametersFromMethodResult" nillable="true" type="q17:ArrayOfstring" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="GetParametersTypesFromMethod">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="methodName" nillable="true" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="GetParametersTypesFromMethodResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q18="http://schemas.microsoft.com/2003/10/Serialization/Arrays" minOccurs="0" name="GetParametersTypesFromMethodResult" nillable="true" type="q18:ArrayOfstring" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="GetAvailableStateChangeStrategies">
    <xs:complexType>
      <xs:sequence />
    </xs:complexType>
  </xs:element>
  <xs:element name="GetAvailableStateChangeStrategiesResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q19="http://schemas.microsoft.com/2003/10/Serialization/Arrays" minOccurs="0" name="GetAvailableStateChangeStrategiesResult" nillable="true" type="q19:ArrayOfstring" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="GetAvailableMethodsOfCentrality">
    <xs:complexType>
      <xs:sequence />
    </xs:complexType>
  </xs:element>
  <xs:element name="GetAvailableMethodsOfCentralityResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q20="http://schemas.microsoft.com/2003/10/Serialization/Arrays" minOccurs="0" name="GetAvailableMethodsOfCentralityResult" nillable="true" type="q20:ArrayOfstring" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="GetGeoCode">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="strAddress" nillable="true" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="GetGeoCodeResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q21="http://schemas.microsoft.com/2003/10/Serialization/Arrays" minOccurs="0" name="GetGeoCodeResult" nillable="true" type="q21:ArrayOfdouble" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="CreateGraphFromGraphML">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="graphML" nillable="true" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="CreateGraphFromGraphMLResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q22="http://schemas.datacontract.org/2004/07/GraphInformation" minOccurs="0" name="CreateGraphFromGraphMLResult" nillable="true" type="q22:Graph" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="getSimulationMaxTime">
    <xs:complexType>
      <xs:sequence />
    </xs:complexType>
  </xs:element>
  <xs:element name="getSimulationMaxTimeResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="getSimulationMaxTimeResult" type="xs:int" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="CreateDiseaseModelGraph">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="modelML" nillable="true" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="CreateDiseaseModelGraphResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q23="http://schemas.datacontract.org/2004/07/GraphInformation" minOccurs="0" name="CreateDiseaseModelGraphResult" nillable="true" type="q23:Graph" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="StartSimulationInBackGround">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q24="http://schemas.datacontract.org/2004/07/EpidemicSimulator" minOccurs="0" name="simsetup" nillable="true" type="q24:SimulationSetupSL" />
        <xs:element minOccurs="0" name="numOfExperiments" type="xs:int" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="StartSimulationInBackGroundResponse">
    <xs:complexType>
      <xs:sequence />
    </xs:complexType>
  </xs:element>
  <xs:element name="getExporimentState">
    <xs:complexType>
      <xs:sequence />
    </xs:complexType>
  </xs:element>
  <xs:element name="getExporimentStateResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q25="http://schemas.datacontract.org/2004/07/EpidemicSimulator" minOccurs="0" name="getExporimentStateResult" nillable="true" type="q25:ArrayOfExperimentState" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="getAsyncSimulationReport">
    <xs:complexType>
      <xs:sequence />
    </xs:complexType>
  </xs:element>
  <xs:element name="getAsyncSimulationReportResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q26="http://schemas.datacontract.org/2004/07/EpidemicSimulator.reports" minOccurs="0" name="getAsyncSimulationReportResult" nillable="true" type="q26:SimulationSimpleReport" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="AddStateChangePlan">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q27="http://schemas.datacontract.org/2004/07/EpidemicSimulator" minOccurs="0" name="plan" nillable="true" type="q27:StateChangePlanSL" />
        <xs:element minOccurs="0" name="token" nillable="true" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="AddStateChangePlanResponse">
    <xs:complexType>
      <xs:sequence />
    </xs:complexType>
  </xs:element>
  <xs:element name="CreateGraphWithDiseaseModelGraph">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="graphML" nillable="true" type="xs:string" />
        <xs:element xmlns:q28="http://schemas.datacontract.org/2004/07/EpidemicSimulator" minOccurs="0" name="stateMachineGraph" nillable="true" type="q28:DiseaseModelGraph" />
        <xs:element minOccurs="0" name="token" nillable="true" type="xs:string" />
        <xs:element minOccurs="0" name="MaxSimStep" type="xs:int" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="CreateGraphWithDiseaseModelGraphResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q29="http://schemas.datacontract.org/2004/07/GraphInformation" minOccurs="0" name="CreateGraphWithDiseaseModelGraphResult" nillable="true" type="q29:Graph" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="ComputeCentralityFromGraphML">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="MethodName" nillable="true" type="xs:string" />
        <xs:element minOccurs="0" name="graphML" nillable="true" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="ComputeCentralityFromGraphMLResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q30="http://schemas.datacontract.org/2004/07/GraphInformation" minOccurs="0" name="ComputeCentralityFromGraphMLResult" nillable="true" type="q30:Graph" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="changeNodeState">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="token" nillable="true" type="xs:string" />
        <xs:element xmlns:q31="http://schemas.microsoft.com/2003/10/Serialization/" minOccurs="0" name="nodeId" type="q31:guid" />
        <xs:element minOccurs="0" name="newStateName" nillable="true" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="changeNodeStateResponse">
    <xs:complexType>
      <xs:sequence />
    </xs:complexType>
  </xs:element>
  <xs:element name="removeNode">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="token" nillable="true" type="xs:string" />
        <xs:element xmlns:q32="http://schemas.microsoft.com/2003/10/Serialization/" minOccurs="0" name="nodeId" type="q32:guid" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="removeNodeResponse">
    <xs:complexType>
      <xs:sequence />
    </xs:complexType>
  </xs:element>
  <xs:element name="removeEdge">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="token" nillable="true" type="xs:string" />
        <xs:element xmlns:q33="http://schemas.microsoft.com/2003/10/Serialization/" minOccurs="0" name="sourceId" type="q33:guid" />
        <xs:element xmlns:q34="http://schemas.microsoft.com/2003/10/Serialization/" minOccurs="0" name="targetId" type="q34:guid" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="removeEdgeResponse">
    <xs:complexType>
      <xs:sequence />
    </xs:complexType>
  </xs:element>
  <xs:element name="GetAvailableStopConditions">
    <xs:complexType>
      <xs:sequence />
    </xs:complexType>
  </xs:element>
  <xs:element name="GetAvailableStopConditionsResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q35="http://schemas.microsoft.com/2003/10/Serialization/Arrays" minOccurs="0" name="GetAvailableStopConditionsResult" nillable="true" type="q35:ArrayOfstring" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="getSimulationReport">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="token" nillable="true" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="getSimulationReportResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q36="http://schemas.datacontract.org/2004/07/EpidemicSimulator.reports" minOccurs="0" name="getSimulationReportResult" nillable="true" type="q36:SimulationReport" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="netToGraphml">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="netName" nillable="true" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="netToGraphmlResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="netToGraphmlResult" nillable="true" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
</xs:schema>